package com.cw.util;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class SendEmailToQQ {
    public static void main(String[] args) {
        // 发件人邮箱和授权码
        final String from = "1462638455@qq.com"; // 替换为你的QQ邮箱
        final String password = "rvogmpbdviikbagb"; // 替换为你的SMTP授权码

        // 收件人邮箱
        String to = "879686631@qq.com"; // 替换为收件人邮箱

        // QQ邮箱的SMTP服务器地址
        String host = "smtp.qq.com";

        // 设置属性
        Properties properties = System.getProperties();
        properties.setProperty("mail.smtp.host", host); // 设置SMTP服务器
        properties.setProperty("mail.smtp.port", "587"); // 设置端口
        properties.setProperty("mail.smtp.auth", "true"); // 需要认证
        properties.setProperty("mail.smtp.starttls.enable", "true"); // 启用TLS加密

        // 获取默认的Session对象
        Session session = Session.getDefaultInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(from, password); // 设置发件人邮箱和授权码
            }
        });

        try {
            // 创建MimeMessage对象
            MimeMessage message = new MimeMessage(session);
            // 设置发件人
            message.setFrom(new InternetAddress(from));
            // 设置收件人
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            // 设置邮件主题
            message.setSubject("50块的水瓶我45就买到了,为什么?");
            // 设置邮件正文
            message.setText("9折水瓶啊老弟");

            // 发送邮件
            Transport.send(message);
            System.out.println("邮件发送成功！");
        } catch (MessagingException e) {
            e.printStackTrace();
            System.out.println("邮件发送失败：" + e.getMessage());
        }
    }
}